<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    function fn(){
        return new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve(10)
            },2000)
        })
    }

    function fn1(){
        return new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve(20)
            },2000)
        })
    }
    // console.log(fn());
    // fn().then(res=>{
    //     console.log(res);
    // })

    // async  await  是es7里面把异步变为同步的方法
    // async  await是一起搭配使用 缺一不可
    // await有等待的意思
    // async  和await把fn参数变成 同步  所以先执行完 num1，在执行999
    // async 和await的返回值也是一个promise对象
    // 一个async可以对象多个await
    // await离不开async

    async function fn3(){
      let num1 = await fn() //fn()异步
      let num2 = await fn1() //fn1()是异步
      console.log(num2);
      console.log(num1);
        console.log(999)
        return '我是fn3的结果'
    }
  console.log(fn3());
  fn3().then(res=>{
    console.log(res);
  })

</script>
</html>